package main

import "fmt"

// 空接口:没有定义任何方法的接口。   没有必要起名字，通常定义成下面的格式
//  interface{}  所有类型都实现了空接口，且可以接受任意值
// 空接口可以作为函数的参数、map类型的值

func show (a interface{}){
	fmt.Printf("%T %v",a,a)
}
func main() {
	// 空接口作为map的值
	var m1 map[string]interface{}
	m1 = make(map[string]interface{},16)
	m1["name"]="周琳"
	m1["age"]=20
	m1["hobby"]=[...]string{"唱","rap"}
	fmt.Printf("%T\n",m1)
	fmt.Println(m1)
	show(false)
	show(nil)
	show(m1)
}